home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / c / restracklib_0_2.lha / ResTrackLib / lists.h < prev    next >
C/C++ Source or Header  |  1994-07-31  |  2KB  |  58 lines

  1. /******************************************************************************
  2.  
  3.     MODUL
  4.     lists.h
  5.  
  6.     DESCRIPTION
  7.     Tools/Macros fuer Exec-Listen
  8.  
  9. ******************************************************************************/
  10.  
  11. #ifndef LISTS_H
  12. #define LISTS_H
  13.  
  14. /***************************************
  15.            Includes
  16. ***************************************/
  17. #ifndef EXEC_LISTS_H
  18. #   include <exec/lists.h>
  19. #endif
  20.  
  21.  
  22. /***************************************
  23.      Globale bzw. externe Variable
  24. ***************************************/
  25.  
  26.  
  27. /***************************************
  28.      Defines und Strukturen
  29. ***************************************/
  30. /* DICE defines these (but this file hides the other definition) */
  31. #define GetHead(list)       ((APTR) \
  32.     (((struct List *)(list))->lh_Head->ln_Succ ? \
  33.         ((struct List *)(list))->lh_Head : NULL ))
  34. #define GetTail(list)       ((APTR) \
  35.     (((struct List *)(list))->lh_TailPred->ln_Succ ? \
  36.         ((struct List *)(list))->lh_TailPred : NULL ))
  37. #define GetPred(node)       ((APTR) \
  38.     (((struct Node *)(node))->ln_Pred->ln_Pred ? \
  39.         ((struct Node *)(node))->ln_Pred : NULL ))
  40. #define GetSucc(node)       ((APTR) \
  41.     (((struct Node *)(node))->ln_Succ->ln_Succ ? \
  42.         ((struct Node *)(node))->ln_Succ : NULL ))
  43.  
  44. #define InitList(name)      { (struct Node *)&(name).lh_Tail, 0, (struct Node *)&(name).lh_Head }
  45. #define InitMinList(name)   { (struct MinNode *)&(name).mlh_Tail, 0, (struct MinNode *)&(name).mlh_Head }
  46.  
  47.  
  48. /***************************************
  49.            Prototypes
  50. ***************************************/
  51.  
  52.  
  53. #endif /* LISTS_H */
  54.  
  55. /******************************************************************************
  56. *****  ENDE lists.h
  57. ******************************************************************************/
  58.